/**
 * ES6 提供了新的数据结构 Set。它类似于数组，但是成员的值都是唯一的，没有重复的值。
 */
import React from 'react';

function SetCom() {
  // 去重操作
  const arr = [1, 3, 2, 4, 3];
  const newArr: Set<Number> = new Set(arr); // 在tsconfig.json 中添加"downlevelIteration": true
  console.log([...newArr]);

  const s = new Set();

  // 通过add向Set中添加元素
  // 由于add()返回的是一个Set对象，所以我们可以链式调用
  s.add(1).add(2);

  // 使用  forEach 或者let of 进行遍历
  s.forEach((item) => {
    console.log(item);
  });
  for (const item of s) {
    console.log(item);
  }

  // 获取Set长度  size
  console.log(s.size); // 2

  // has() 是否存在某个值
  console.log(s.has(2), s.has(3)); // true false

  // delete() 删除某个元素
  s.delete(1);
  console.log(s); // Set(1){2}

  // 清空集合中的元素
  s.clear();
  console.log(s);
  // Set(0){size: 0}

  return <div />;
}
export default SetCom;
